﻿// <copyright file="INetworkWriter.cs" company="City of Portland, BES-ASM">
// </copyright>
// <summary>INetworkWriter interface.</summary>

namespace BESASM.EMGAATS.DataAccess
{
  using System;
  using System.Collections.Generic;
  using System.Linq;
  using System.Text;
  using System.Threading.Tasks;
  using BESASM.EMGAATS.BusinessClasses;

  /// <summary>
  /// An interface for data access modules which write a network and its entities.
  /// </summary>
  public interface INetworkWriter : INetworkReader, IEntityWriter
  {
    /// <summary>
    /// Creates the database tables and feature classes based on the network data schema
    /// </summary>
    void CreateNetworkSchema();

    /// <summary>
    /// Saves a network to the workspace.
    /// </summary>
    /// <param name="network">The network to save.</param>
    void SaveNetwork(INetwork network);
  }
}
